package com.ctg.itrdc.k8sconsole.service;

import com.ctg.itrdc.imageconsole.data.dto.K8sNodeDTO;

/**
 * 
 * @description: 宿主机相关查询与操作 接口
 * @version: v1.0.0
 * @author: Piao.Wu
 * 
 *          Modification History: Date Author Version Description
 *          -----------------------------------------------------------------
 *          2016年8月20日 上午10:33:20 Piao.Wu v1.0.0 create
 *
 */
public interface IK8snodeService {

	/**
	 * 
	 * @Description: 获取节点资源列表
	 * @author Piao.Wu 2016年9月7日 下午5:21:40
	 * @param clusterCode
	 * @param perpage
	 * @param page
	 * @param nodeip
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getNodes(String clusterCode, String perpage, String page, String nodeip, String groupId)
			throws Exception;

	/**
	 * 
	 * @Description: 根据ip串获取节点资源
	 * @author Piao.Wu 2016年9月7日 下午5:21:57
	 * @param clusterCode
	 * @param ips
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getNodesByIps(String clusterCode, String ips) throws Exception;

	/**
	 * 
	 * @Description: 获取具体节点信息
	 * @author Piao.Wu 2016年9月7日 下午5:22:35
	 * @param clusterCode
	 * @param nodeip
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getNodeDetail(String clusterCode, String nodeip) throws Exception;

	/**
	 * 
	 * @Description: 获取具体节点资源
	 * @author Piao.Wu 2016年9月7日 下午5:23:20
	 * @param clusterCode
	 * @param nodeip
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getNodeResource(K8sNodeDTO k8sNodeDTO) throws Exception;

	/**
	 * 
	 * @Description: 获取集群node、pod、rc资源总数
	 * @author Piao.Wu 2016年9月7日 下午5:23:39
	 * @param clusterCode
	 * @return String
	 *
	 */
	public String getClusterResrTotal(String clusterCode) throws Exception;

	/**
	 * 
	 * @Description: 节点启用或停用
	 * @author Piao.Wu 2016年9月7日 下午5:24:16
	 * @param clusterCode
	 * @param nodeip
	 * @param unschedulable
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String startOrShutdownNode(String clusterCode, String nodeip, Boolean unschedulable) throws Exception;

	/*
	 * public String startNode(String nodeip,Boolean unschedulable) throws
	 * Exception;
	 */
}
